Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable Qt framework in CI and refactoring of CI configuration #160

Merged
merged 6 commits into from
Aug 17, 2017

Conversation

konserw
Copy link
Contributor

@konserw konserw commented Aug 17, 2017

This is follow up on PR #140 I've just closed. This one is much better and cleaner thanks to @muggenhor 👍 Ad meritum:

Main purpose of this PR is to setup Qt framework in CI on all 3 platforms:

  • Linux via apt
  • OSX via brew
  • Windows using preinstalled Qt in appveyor (only mingw 64-bit is not available on the image)

In addition it resulted in refactoring some CMake and CI configuration files:

  • appveyor.yml:
    • remove 'cmd' prefix - because this is already the default
    • remove intermediate RUBY_VERSION environment variable
    • remove unused environment variables
    • rename %PLATFORM% to %MSVC_ARCH% where used
    • distinguish platform by presence of %MINGW_ARCH% or %MSVC_ARCH%
  • main CMakeLists
    • add finding Qt4 and Qt5
    • use 'option' for parameters
    • delete some excess whitespace
  • examples CMakelists
    • removed include_directories() which were unnecessary
  • travis.yml
    • use matrx->include to add osx configs instead of excluding what didn't make sense for osx

Use the 'option' command for user-selectable options instead of cached
bool variables. Just like CMake recommends.

Also delete some excess whitespace.
Also use the more localized target_include_directories instead of
include_directories and AUTOMOC target property instead of CMAKE_AUTOMOC
(which is the default for the value of all target's AUTOMOC property).
* remove 'cmd' prefix
 - because this is already the default
* remove intermediate RUBY_VERSION environment variable
* remove unused environment variables
* rename %PLATFORM% to %MSVC_ARCH% where used
* distinguish platform by presence of %MINGW_ARCH% or %MSVC_ARCH%
To ensure our Qt-using code gets tested by our CI systems as well.
That should fix appveyor build for mingw
+ small cleanups in examples CMake configuration
Copy link
Contributor

@muggenhor muggenhor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, if and when CI says it's okay I'll merge it at the earliest opportunity. Thanks for all your hard work and effort.

This is follow up on PR #140 I've just closed.

FYI: you could have forced pushed to the branch that that PR was based on and achieved the same.

This one is much better and cleaner thanks to @muggenhor 👍

I'm glad to have been able to help. Your hard work and perseverance got most of this done.

add_library(Calc src/Calculator)
target_include_directories(Calc PUBLIC src)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For future reference: I would have preferred for this cleanup to happen in a separate PR, or at least a separate commit. Generally I prefer every change in one commit to work towards accomplishing one goal (which would be fixing the build for this one).

@@ -27,6 +29,8 @@
* Fixed `defs.hpp` deprecation warning on MSVC ([#124](https://github.com/cucumber/cucumber-cpp/pull/124) Antoine Allard)
* Fixed parallel build ([#135](https://github.com/cucumber/cucumber-cpp/pull/135) Giel van Schijndel)
* Fixed memory leaks and better memory management ([#134](https://github.com/cucumber/cucumber-cpp/pull/134) Giel van Schijndel)
* Got rid of clang warning - fix for issue #119 ([#138](https://github.com/cucumber/cucumber-cpp/pull/138) Kamil Strzempowicz, [f933ad1](https://github.com/paoloambrosio/cucumber-cpp/commit/f933ad1983cf15cc0573532f98b5457bc1ba2a18) Paolo Ambrosio)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, seems @paoloambrosio forgot to add this, thanks for catching it. In general we don't attribute the maintainer that merged it nor the merge commit though (but leave it as is for now, I'll fix it up in the merge commit.

@muggenhor muggenhor added this to the v0.5 milestone Aug 17, 2017
@muggenhor muggenhor self-assigned this Aug 17, 2017
@muggenhor muggenhor merged commit e8eac1b into cucumber:master Aug 17, 2017
muggenhor added a commit that referenced this pull request Aug 17, 2017
* Make building with Qt possible to disable (CUKE_DISABLE_QT)
* Enable building with Qt on our CI systems for improved coverage
* Refactor the CMake build system around this to be more clean
* Refactor the CI configurations to be cleaner & leaner
@aslakhellesoy
Copy link
Contributor

Hi @konserw,

Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾

In return for this generous offer we hope you will:

  • ✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
  • 💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
  • 💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
  • ℹ️ Don't feel obliged to help, just do what you can if you have the time and the energy.
  • 🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber

@konserw konserw deleted the enableQt branch April 2, 2018 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants